package com.yueyang.sojourn.server.model.vo;

import com.yueyang.sojourn.server.model.po.AttachDetail;
import com.yueyang.sojourn.server.model.po.SojournOrderTourist;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 订单vo 后台详情
 * @author andy.yang
 * @summary
 * @Copyright (c) 2020, Yueyang Group All Rights Reserved.
 * @since 2020-03-17 10:45
 */
@Data
@ApiModel("订单信息")
public class SojournOrderDetailVo {
    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private Long id;

    /**
     * 订单流水号
     */
    @ApiModelProperty(value = "订单序号")
    private String sn;

    /**
     * 商品id
     */
    @ApiModelProperty(value = "商品id")
    private Long merchId;
    /**
     * 商品名
     */
    @ApiModelProperty(value = "商品名")
    private String merchTitle;

    /**
     * 商品单价
     */
    @ApiModelProperty(value = "商品单价")
    private BigDecimal merchPrice;

    /**商品优惠 策略**/
    @ApiModelProperty(value = "商品优惠")
    private List<String> merchSales;

    /**商品数量**/
    @ApiModelProperty(value = "商品数量")
    private Integer merchCount;

    @ApiModelProperty(value = "商品生效日期")
    private Date merchEffectDate;

    /**优惠后单价**/
    @ApiModelProperty(value = "优惠后单价")
    private BigDecimal discountOnePrice;

    /**'共优惠/减免的钱'**/
    @ApiModelProperty(value = "商品减免优惠钱")
    private BigDecimal discounted;

    /**订单总价**/
    @ApiModelProperty(value = "订单总价")
    private BigDecimal totalPrice;

    /**订单类型：普通商品、会员**/
    @ApiModelProperty(value = "订单类型")
    private Integer type;

    /**评价状态**/
    @ApiModelProperty(value = "评价状态：-1：未到点评时状态 1-已评价 0-待评价")
    private Integer evaluateStatus;
    /**
     * 有效状态
     */
    @ApiModelProperty(value = "订单状态:10-待付款; 20-待出行; 30-已成交; 40-已取消; 50-已退款;")
    private Integer status;

    /**付款时间**/
    @ApiModelProperty(value = "付款时间")
    private Date paidTime;

    /**成交时间**/
    @ApiModelProperty(value = "成交时间")
    private Date finishTime;

    /**联系人手机**/
    @ApiModelProperty(value = "联系人手机")
    private String contactPhone;

    /**联系人姓名**/
    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    /**支付截止时间**/
    @ApiModelProperty(value = "支付截止时间")
    private Date payEndTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人id")
    private Long creator;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人id")
    private Long updator;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新人时间")
    private Date updatedTime;
    //-----------项目信息
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long merchProjectId;

    //-----------下单人信息
    /**
     * 下单人姓名
     */
    @ApiModelProperty(value = "下单人姓名")
    private String creatorName;

    /**
     * 下单人手机号
     */
    @ApiModelProperty(value = "下单人手机号")
    private String creatorPhone;

    //------------商品图片
    @ApiModelProperty(value = "商品图片")
    private AttachDetail picAttachDetail;

    /**
     * 订单游客
     */
    @ApiModelProperty(value = "订单游客")
    private List<SojournOrderTouristVo> orderTourists;

    @ApiModelProperty(value = "订单交易方式: 1-微信")
    private Integer channelType;

    @ApiModelProperty(value = "第三方支付单号")
    private String thirdTransId;

    @ApiModelProperty(value = "交易价格：实付款")
    private BigDecimal transPrice;

    @ApiModelProperty(value = "商品详情")
    private String merchDesc;

    /**
     * 退款信息
     */
    @ApiModelProperty(value = "退款原因")
    private String refundReason;

}
